Service oriented architecture provides an application framework that turns business applications into individual business functions and integrates processes as linked, repeatable business tasks, or services. Services are designed to be highly reusable and meet the needs of calling applications in the enterprise. Service oriented architecture also provides a way for applications to be aware of available services through the use structured data such as extensible markup language (XML) to describe the services and the data that drives the services.
Enterprise business services serve as a means of accessing backend systems and data in a corporate computing environment. Services wrap one or more backend operations in a single, synchronous transaction and decouple applications from data and from one another. Calling applications are buffered from backend changes and do not need to be aware of the complexity of the services. Services do not retain state information about transactions, once a request has been received from a calling application, processed, and a response has been issued, the service may not retain knowledge that can be used in subsequent transactions.